package com.quan.admin.service;

import com.quan.admin.entity.SysSchedulerJob;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.quan.commons.core.utils.PageUtils;
import com.quan.commons.core.biz.support.MyBaseService;


/**
 * 系统-定时作业管理
 *
 * @author yhaoquan
 * @email yhaoquan@163.com
 * @date 2020-08-26 10:43:38
 */
public interface SysSchedulerJobService extends MyBaseService<SysSchedulerJob> {

    /**
     * 分页查询列表
     * @param entity
     * @param pageUtils
     * @return
     */
    public IPage<SysSchedulerJob> selectMyPage(PageUtils pageUtils, SysSchedulerJob entity);


    /**
     * 添加新任务
     * @param entity
     * @return
     */
    public boolean startJob(SysSchedulerJob entity) ;

    /**
     * 暂停任务
     * @param jobName
     * @param jobGroup
     */
    public void pauseJob(Long id, String jobName, String jobGroup) ;

    /**
     * 恢复任务
     * @param jobName
     * @param jobGroup
     */
    public void resumeJob(Long id, String jobName, String jobGroup) ;

    /**
     * 触发任务
     * @param jobName
     * @param jobGroup
     */
    public void triggerJob(Long id, String jobName, String jobGroup) ;

    /**
     * 根据任务名称删除定时任务
     * @param jobName
     */
    public void deleteJobByName(String jobName) ;

    /**
     * 根据任务名称删除定时任务
     * @param jobName 任务名称
     * @param jobGroup 任务组
     */
    public void deleteJobByName(String jobName, String jobGroup) ;

    /**
     * 变更任务状态
     * @param id
     * @param jobStatus
     */
    public void changeStatus(Long id, String jobStatus) ;
}

